“La vie sans musique est tout simplement une erreur, une fatigue, un exil.” — Friedrich Nietzsche
La musique peut être considérée comme la première langue parlée. Bien que la musique soit un art, sa perception est un effort artistique aussi bien que scientifique.
En effet, l’humain cherchait à caractériser la musique afin de pouvoir la conserver et de la partager. Cette science a commencé par l’écriture des chants hourrites sur des tablettes d’argile extraite d’Ougarit (actuellement Latakié, Syrie) qui remontent approximativement à 1400 av. J.-C. [@ougarit]
Dessin de la tablette de l’hymne à Nikkal (chant hourrite)
La notation musicale a évolué au cours de l’histoire, le système occidental développé au moyen âge appelé “solfège” est adopté aujourd’hui par tous les musiciens du monde avec quelques variations. La transcription d’une œuvre musicale est appelée une partition.
Ce système de notation est fidèle à la perception humaine du son, vis-à-vis la linéarité de fréquences et la reconnaissance du rythme. En effet, on tappe les pieds suivant le rythme de la musique sans aucune connaissance musicale, et la majorité de personnes est capable de chanter une mélodie sans lire sa partition.
En revanche, un signal sonore contient les mêmes informations sous une forme différente; l’espace de fréquences n’est pas linéaire et le rythme n’est pas reconnaissable facilement.
Dans ce projet, nous avons étudié et implémenté des méthodes d’interprétation de signaux sonores dans l’objectif de pouvoir produire une partition de musique à partir d’un son enregistré.
Des nombreuses recherches ont été effectuées sur ce sujet et les résultats obtenus sont certainement intéressants. Malheureusement, ces méthodes ne traitent que des cas particuliers.
Nous nous sommes intéressés par ce domaine d’applications car il porte un fort potentiel dans le futur. Ce projet nous a permis de faire notre premier pas dans ce domaine et de mettre en place nos compétences en mathématiques, en informatique et en musique.
Le son d’un résonateur acoustique comme une chorde ou une colonne d’air est une onde stationnaire. On dit que tel son évoque un pitch défini. Dans le cas des instruments de percussion, le son présente une inharmonicité. On dit que tel son évoque un pitch indéfini. Dans ce projet on ne s’intéressera qu’au sons harmoniques de pitch défini.
Les harmoniques d’une chorde vibrante
Un signal sonore de pitch défini, est une série harmonique de sons purs, représenté par des ondes sinusoïdales dont les fréquences sont des multiples entiers d’une fréquence dîte la fondamentale (où le pitch) notée \(f_0\).
\[ x(t) = \sum\limits_{k\in\mathbb{N}} A_k\cdot\cos(2\pi k f_0 t) \] où \(A_k\) est l’amplitude de la kème harmonique.
On cherche donc à indentifier \(f_0\) dans un signal harmonique donnée.
La numérisation d’un signal consiste à prélever des valeurs du signal à intervalles définis. Les valeurs obtenues sont appelées des échantillons.
La période d’échantillonnage \(T_s\) est l’intervalle de temps entre deux échantillons, on définit \(f_s=\frac{1}{T_s}\) le nombre d’échantillons prélevés par secondes, \(f_s\) est dît fréquence d’échantillonnage ou en anglais sample rate.
On note \(x[n] = x(t_n)\) où \(t_n = n\cdot T_s = \frac{n}{f_s}\). Dans le reste du projet, on notera toujours \([\cdot]\) les valeurs discrètes.
L’échantillonnage d’un signal consiste à choisir une fréquence d’échantillonnage sans perdre de valeurs importantes du signal. En traitement de signaux sonores, \(f_s\) est souvent égale à \(44.1 kHz, 22.05 kHz, 16 kHz,\text{ou } 8kHz\). La numérisation d’un signal dépend aussi d’autre facteurs comme le bit depth (i.e. le nombre de bits pour stocker chaque échantillon), mais nous ne nous intéressons pas par les détails; les bases de l’échantillonnage de signaux sont expliquées et démontrées par le théroème d’échantillonnage de Nyquist-Shannon.
La transformée de Fourier se définit par: \[\hat{x}(f) = \int\limits_{-\infty}^{\infty} x(t)\cdot e^{-2\pi j ft}\mathrm{d}t\]
Cette transformation permet d’identifier la fréquence d’une fonction périodique. En effet, La transformée de Fourier représente l’intensité d’une fréquence dans un signal, donc ses pics correspondent aux fréquences du signal.